The media gateway controller (MGC) and the media gateway (MG) are two key components of a packet-based network under the service and bearer separation architecture. The MGC is mainly in charge of service control functions, and the MG is mainly in charge of media bearer functions. The gateway separation architecture formed by the MGC and the MG realizes the separation of the service control plane and the media bearer plane, so that the network resources can be fully shared, the device up-gradation and service expansion are simplified, and the development and maintenance cost is reduced.
The MG and the MGC communicate with each other by using media gateway control protocols. The currently prevalent media gateway control protocols include H.248/Gateway Control Protocol (MeGaCo) and Media Gateway Control Protocol (MGCP). The MGCP is developed and amended by the Internet Engineering Task Force (IETF). The H.248/MeGaCo protocol is developed based on the MGCP. H.248/MeGaCo version 1 was enacted by the IETF and the International Telecommunications Union (ITU) together in November, 2000 and was amended in June, 2003. H.248 version 2 was enacted by the ITU in May, 2002 and was amended in March, 2004. H.248 version 3 was enacted by the ITU in September, 2005.
Currently, the connection model defined by the H.248/MeGaCo protocol includes terminations and contexts. The termination is a logical entity in the MG (the MG may also be represented by a termination known as Root termination) and capable of sending and receiving one or more types of media. The terminations are categorized into physical terminations and ephemeral terminations. The physical terminations represent some physical entities having semi-permanent existence, such as time division multiplex (TDM) timeslot or analog line, and the ephemeral terminations represent some public resources that are applied for temporarily and are released after use, such as Real-time Transport Protocol (RTP) streams. The attributes of the termination are expressed by Property, Signal, Event, and Statistic, and the attribute parameters of the termination are combined with packages. Moreover, the context represents the association between the terminations. One context may include multiple terminations, and describes the relation between the terminations with topologies. The termination that has not been associated with other terminations is contained in a specific context known as Null context. The context is established when the first termination is added, and is released when the last termination is released.
Based on the above abstract connection model, the interaction between the services and the bearers is actually an operation on the terminations and the contexts. Such operations are implemented through command requests and replies between the MGC and the MG. The types of the command include Add, Modify, Subtract, Move, AuditValue, AuditCapabilities, Notify, and ServiceChange.
The Add command is configured to add a termination into a context. The Add command for the first termination in a context is also configured to establish the context.
The Modify command is configured to modify the attributes of the termination such as Property, Event, Signal, and Statistic.
The Subtract command is configured to delete a termination from a context. The Subtract command for the last termination in a context is also configured to delete the context.
The Move command is configured to move a termination to another context.
The AuditValue command is configured to request for returning the current states of the Property, Event, Signal, and Statistic of a termination on the MG.
The AuditCapabilities command is configured to request for returning all the possible states of the Property, Event, Signal, and Statistic of a termination supported by the MG.
The Notify command permits the MG to notify the MGC of events that occur in the MG.
The ServiceChange command is configured to notify the MGC by the MG that one termination or one group of terminations (may also be the MG itself) will be out of service (including logout) or in service (including login). The ServiceChange command may also be configured to notify the MG by the MGC to enable one termination or one group of terminations (may also be the MG itself) to be out of service or in service. The ServiceChange command may also be configured to perform fault notification and control handoff.
According to the definition of the ServiceState property of the termination state in H.248/MeGaCo, the termination may be in one of the following three service states: InService, OutOfService, and Test. The InService state denotes that the termination may be used or is being used for normal communication, the OutOfService state denotes that the termination cannot be used for communication, and the Test state denotes that the termination is being tested. The service state change of the termination is generally realized through the ServiceChange command.
The ServiceChange command includes a series of parameters, such as Method, Reason, and Delay. The Method parameter may be set to be Graceful, Forced, Restart, Disconnected, Handoff, or Failover. Graceful indicates that the entire MG or a termination thereof will be out of service after a designated delay; Forced indicates that the entire MG or a termination thereof gets out of service abruptly; Restart indicates that the entire MG or a termination thereof restore the service after a designated delay; Disconnected indicates that the MG loses the communication with an MGC but restores the communication with the same MGC subsequently; Handoff indicates that an MGC hands over the control on an MG to another MGC; and Failover indicates that a backup MG takes over when the primary MG fails, or the MG detects that the primary MGC fails and resorts to the control of a backup MGC. The Reason parameter provides further description for the Method, the Delay parameter provides a designated delay for the Method, and the other parameters will not be described in detail herein.
It can be seen from the above that, the MG or MGC may adopt the Restart method of the ServiceChange command to change the service state of the entire MG or a termination on the MG or a group of terminations on the MG to the InService state (for example, to switch a finite state machine of the termination state into the InService state indicated by the Restart method parameter, or set a flag representing the termination service state to the InService state indicated by the Restart method parameter), or the MG or MGC may adopt the Graceful or Forced method of the ServiceChange command to change the service state of the entire MG or a termination on the MG or a group of terminations on the MG into the OutOfService state (for example, to switch a finite state machine of the termination state to the OutOfService state indicated by the Graceful or Forced method parameter, or set a flag representing the termination service state to the OutOfService state indicated by the Graceful or Forced method parameter). Furthermore, the MG may adopt the Disconnected method of the ServiceChange command, and the MGC and the MG may adopt the Handoff method of the ServiceChange command interactively to change the service state of the MG into the InService state.
The Delay parameter may be used in combination with the Restart or Graceful method to realize that the entire MG or a termination on the MG or a group of terminations on the MG to be in service or out of service after a designated delay, that is, this combination indicates that the entire MG or a termination on the MG or a group of terminations on the MG will be changed into a service state and the time required for changing to the service state.
In the reference art, the Delay parameter can only indicate the time required for changing the termination to a service state, while cannot indicate the maintaining duration of the termination in the service state after the state change, so that it is difficult for the MG or MGC to realize effective subsequent control on the termination after the service state change of the termination.